In general, an industrial controller called programmable logic controller (PLC) is used to control various kinds of facilities. A ladder language is a typical programming language used for a control program executed by the industrial controller. A program written in the ladder language is typically created using a program editing support apparatus. Such a program written in the ladder language will be hereinafter referred to as a ladder program.
A controlled object device connected to the PLC is in many cases realized by using an existing device or by using an expanded form of an existing device. For this reason, it is often the case that a ladder program partially having a difference from an existing ladder program is created although its major part is the same as the existing ladder program. Therefore, when a program is created, a part of an existing ladder program is often componentized in functional units to be reused.
Componentization and reuse of the ladder program are typically achieved using the system of function blocks defined in the International Electrotechnical Commission (IEC) 61131 standard. The function blocks enable encapsulation of information forming the ladder program and thus make it possible to reuse the ladder program as a component or components.
However, the function block describes, as a variable, a symbol corresponding to an input/output device making up a program subjected to componentization. The program is then reused by linking an input/output device actually used to the variable. For this reason, some input means for linking the variable to the input/output device is required at a point of insertion of the function block, and so it is necessary to provide input points as many as the number of input/output devices in the program subjected to componentization.
Typically, in a case where the point of insertion of the function block is represented as one box, inputs on the left side of the box and outputs on the right side of the box are arranged in the vertical direction as many as the number of input/output devices. In the case of many input/output devices, the box at an insertion point grows vertically, thereby reducing readability of the program and making it difficult to link the variables to the input/output devices to thus cause reduction in work efficiency and efficiency of editing the ladder program.
As a technique using such function blocks, Patent Literature 1 proposes a method of expressing a program in a function block as a truth table to facilitate modifications and alterations of the program.